Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 距离底部多少px触发加载
    lowerThreshold: {
      type: Number,
      value: 50
    },
    // 是否正在加载中
    isLoading: {
      type: Boolean,
      value: false
    },
    // 是否没有更多数据
    isNoMoreData: {
      type: Boolean,
      value: false
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 防止重复触发加载的锁
    loadLock: false
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 处理滚动到底部事件
     */
    handleScrollToLower() {
      console.log('加载。。。');
      // 防止重复触发和处理加载状态
      if (this.data.isLoading || this.data.isNoMoreData || this.data.loadLock) {
        return;
      }
      
      // 加锁
      this.setData({
        loadLock: true
      });
      
      // 触发加载更多事件
      this.triggerEvent('loadMore');
      
      // 解锁（延迟解锁，防止快速滑动多次触发）
      setTimeout(() => {
        this.setData({
          loadLock: false
        });
      }, 500);
    }
  }
})
